튜플 자료형
✒️ 2025-05-19 10:28 내용 수정
Do it! 점프 투 파이썬(2017년 발행) 내용을 정리
요소 값을 수정할 수 없는 리스트와 유사한 자료형
- 리스트는 요소 값을 생성, 삭제, 수정할 수 있지만, 튜플은 한 번 생성한 후 요소 값을 수정할 수 없다.
- 프로그램이 실행되는 동안 값이 바뀌지 않아야 하는 변수를 사용해야 한다면 튜플을 사용해서 관리할 수 있다.
- 리스트와 마찬가지로 어떠한 자료형이든 저장할 수 있으며, 한 튜플 내에 각 요소의 자료형은 같지 않아도 된다.
- 리스트는
[ ]로 둘러싸고, 튜플은( )로 둘러싼다.- 요소가 1개만 있다면 반드시
(값,)로 요소 뒤에,를 붙여야 한다. f = 1, 2, 3처럼( )를 생략할 수 있다.
- 요소가 1개만 있다면 반드시
>>> a = ()
>>> b = (1,)
>>> c = (1, "a", True)
>>> d = (1, "a", True, ("b", False))
>>> f = 1, 2, 3
>>> type(f)
<class 'tuple'>
튜플 인덱싱과 슬라이싱
- 튜플은 요소 값만 바꿀 수 없다는 점을 제외하면 리스트와 동일하다.
- 문자열 인덱싱과 슬라이싱, 리스트 자료형#리스트 인덱싱과 슬라이싱 참고.
튜플 길이 구하기
len()함수를 사용하여 튜플의 길이를 구할 수 있다.
>>> a = (1, 2, 3, 4)
>>> len(a)
4
인덱싱
- 문자열, 리스트와 마찬가지로
튜플[idx]로 특정 인덱스의 요소를 가져올 수 있다.
>>> a = (1, 2, 3, 4)
>>> a[2]
3
>>> a[-1]
4
슬라이싱
튜플[시작idx:종료idx]를 사용하여 특정 인덱스 범위의 요소를 가져올 수 있다.- 시작 idx의 요소는 포함하고, 종료 idx의 요소는 포함하지 않는다.
시작idx <= 튜플 요소 < 종료idx
>>> a = 1, "a", (True, "apple"), 3.14
>>> type(a)
<class 'tuple'>
>>> a[2:]
((True, 'apple'), 3.14)
>>> a[:1]
(1,)
>>> a[1:3]
('a', (True, 'apple'))
튜플 연산
튜플 더하기
- 문자열, 리스트와 마찬가지로
+연산자로 튜플끼리 더할 수 있다. - 두 튜플의 연산 결과는 기존 튜플에 새 요소를 추가한 것이 아닌 새로운 튜플을 생성한다.
>>> a = (1, 2, 3)
>>> b = ("a", "b")
>>> a + b
(1, 2, 3, 'a', 'b')
튜플 곱하기
- 문자열, 리스트와 마찬가지로
*연산자로 튜플을 반복한 새 튜플을 만들 수 있다.
>>> a = (1, 2, 3)
>>> b = a * 3
>>> b
(1, 2, 3, 1, 2, 3, 1, 2, 3)